home *** CD-ROM | disk | FTP | other *** search
-
-
-
- IIIIPPPP((((7777PPPP)))) IIIIPPPP((((7777PPPP))))
-
-
-
- NNNNAAAAMMMMEEEE
- ip - Internet Protocol
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssoooocccckkkkeeeetttt....hhhh>>>>
- ####iiiinnnncccclllluuuuddddeeee <<<<nnnneeeettttiiiinnnneeeetttt////iiiinnnn....hhhh>>>>
-
- ssss ==== ssssoooocccckkkkeeeetttt((((AAAAFFFF____IIIINNNNEEEETTTT,,,, SSSSOOOOCCCCKKKK____RRRRAAAAWWWW,,,, pppprrrroooottttoooo))));;;;
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- IP is the network layer protocol used by the Internet protocol family.
- Options may be set at the IP level when using higher-level protocols that
- are based on IP (such as TCP and UDP). It may also be accessed through a
- "raw socket" when developing new protocols, or special purpose
- applications.
-
- There are several IP-level _s_e_t_s_o_c_k_o_p_t(2)/_g_e_t_s_o_c_k_o_p_t(2) options.
- IP_OPTIONS may be used to provide IP header options to be transmitted in
- each outgoing packet or to examine the header options on incoming
- packets. IP_OPTIONS may be used with any socket type in the Internet
- family. The format of IP options to be sent is that specified by the IP
- protocol specification (RFC-791), with one exception: the list of
- addresses for Source Route options must include the first-hop gateway at
- the beginning of the list of gateways. The first-hop gateway address
- will be extracted from the option list and the size adjusted accordingly
- before use. To disable previously specified options, use a zero-length
- buffer:
-
- setsockopt(s, IPPROTO_IP, IP_OPTIONS, NULL, 0);
-
- IP_TOS and IP_TTL may be used to set the type-of-service and time-to-live
- fields in the IP header for SOCK_STREAM and SOCK_DGRAM sockets. For
- example,
-
- int tos = IPTOS_LOWDELAY; /* see <netinet/ip.h> */
- int ttl = 60; /* max = 255 */
- setsockopt(s, IPPROTO_IP, IP_TOS, &tos, sizeof(tos));
- setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
-
- IP_HDRINCL indicates the complete IP header is included with the data and
- may be used only with the SOCK_RAW type.
-
- int hincl = 1; /* 1 = on, 0 = off */
- setsockopt(s, IPPROTO_IP, IP_HDRINCL, &hincl, sizeof(hincl));
-
-
- RRRRaaaawwww IIIIPPPP SSSSoooocccckkkkeeeettttssss
- Raw IP sockets are connectionless, and are normally used with the _s_e_n_d_t_o
- and _r_e_c_v_f_r_o_m calls, though the _c_o_n_n_e_c_t(2) call may also be used to fix
- the destination for future packets (in which case the _r_e_a_d(2) or _r_e_c_v(2)
- and _w_r_i_t_e(2) or _s_e_n_d(2) system calls may be used). Only the super-user
- can create raw IP sockets.
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- IIIIPPPP((((7777PPPP)))) IIIIPPPP((((7777PPPP))))
-
-
-
- If _p_r_o_t_o is 0, the default protocol IPPROTO_RAW is used for outgoing
- packets, and only incoming packets destined for that protocol are
- received. If _p_r_o_t_o is non-zero, that protocol number will be used on
- outgoing packets and to filter incoming packets.
-
- Outgoing packets automatically have an IP header prepended to them (based
- on the destination address and the protocol number the socket is created
- with), unless the IP_HDRINCL option has been set. Incoming packets are
- received with IP header and options intact.
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- A socket operation may fail with one of the following errors returned:
-
- [EACESS] Permission to create a raw IP socket is denied.
-
- [EISCONN] when trying to establish a connection on a socket which
- already has one, or when trying to send a datagram with
- the destination address specified and the socket is
- already connected;
-
- [ENOTCONN] when trying to send a datagram, but no destination address
- is specified, and the socket hasn't been connected;
-
- [ENOBUFS] when the system runs out of memory for an internal data
- structure;
-
- [EADDRNOTAVAIL]
- when an attempt is made to create a socket with a network
- address for which no network interface exists.
-
- The following errors specific to IP may occur when setting or getting IP
- options:
-
- [EINVAL] An unknown socket option name was given.
-
- [EINVAL] The IP option field was improperly formed; an option field
- was shorter than the minimum value or longer than the
- option buffer provided.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- getsockopt(2), send(2), recv(2), intro(3), icmp(7P), inet(7F), route(7F),
- _I_R_I_X _N_e_t_w_o_r_k _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e
- RFC-791
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-